#ifndef IPLUGIN_H_
#define IPLUGIN_H_


namespace PluginSystem
{

//! IPlugin
/*!
	Predstavuje zakladne rozhranie pre Plugin systemu
*/
class IPlugin
{
public:

	//! Destruktor (virtual public )
	/*!
		Virtualny destruktor
	*/
	virtual ~IPlugin(void) 	{}


	//! Version (public )
	/*!
		Verzia Pluginu
		\return char* nullterminated pole znakov obsahujuca
		aktualnu verziu Pluginu.
	*/
	virtual char* Version() = 0;

	
	//! Autor (public )
	/*!
		Autor Pluginu
		\return char* nullterminated pole znakov obsahujuca
		meno autora
	*/
	virtual char* Autor() = 0;

};//IPlugin


//! CreatePlugin
/*!
	Funkcia sluziaca na vytvaranie instancii pluginu
*/
typedef IPlugin* (*CreatePluging)(const char *pluginPath);

}//PluginSystem

#endif // IPLUGIN_H_